Data analytics system using insight providers

ABSTRACT

Methods, systems, and computer-readable storage media for providing an insight provider including a logic component and a configuration component, the logic component including a domain-specific model, the configuration component including one or more parameter values for processing data using the domain-specific model, receiving a set of assets including data indicative of one or more assets, retrieving asset data associated with at least one asset of the first set of assets, the asset data including OT data and IT data, the OT data being provided from one or more networked devices, the IT data being provided from one or more enterprise systems, and processing the OT data and the IT data using the domain-specific model of the logic component to provide a result set, the result set including one or more of a second set of assets and enriched data.

BACKGROUND

Data analytics can be used in multiple contexts. An example context caninclude predictive maintenance of devices. For example, data associatedwith a device can be analyzed to predict when and/or what type ofmaintenance may be needed to maintain acceptable operation of thedevice. Data analytics, however, can be resource intensive (e.g., interms of technical resources such as processors, memory, bandwidth), andcan require a relatively high skill level (e.g., data science and domainexpert with engineering background) for review and action based onanalytical results. These constraints can inhibit a broader use of dataanalytics.

SUMMARY

Implementations of the present disclosure include computer-implementedmethods for data analytics. In some implementations, actions includeproviding a first insight provider as one or more computer-executableprograms, the first insight provider including a first logic componentand a first configuration component, the first logic component includinga first domain-specific model, the first configuration componentincluding one or more parameter values for processing data using thefirst domain-specific model, receiving a first set of assets comprisingdata indicative of one or more assets, retrieving asset data associatedwith at least one asset of the first set of assets, the asset dataincluding operational technology (OT) data and information technology(IT) data, the OT data being provided from one or more networkeddevices, the IT data being provided from one or more enterprise systems,and processing the OT data and the IT data using the firstdomain-specific model of the first logic component to provide a firstresult set, the first result set including one or more of a second setof assets and enriched data. Other implementations of this aspectinclude corresponding systems, apparatus, and computer programs,configured to perform the actions of the methods, encoded on computerstorage devices.

These and other implementations can each optionally include one or moreof the following features: actions further include providing the firstresult set as input to a second insight provider, the second insightprovider providing a second result set at least partially based on thefirst result set; the first insight provider and the second insightprovider are included in an insight provider pipeline; the first insightprovider executes in a data enrichment mode, and the first result setincludes the enriched data; the first insight provider executes in afilter mode, and the first result set includes the second set of assets;the data indicative of one or more assets at least partially includesidentifiers respectively assigned to the one or more assets, andretrieving asset data includes querying one or more data stores based onthe identifiers; and the first insight provider further includes avisualization component, the visualization component providing one ormore graphical representations for display in a graphical user interface(GUI) that is specific to the first insight provider, the one or moregraphical representations being at least partially based on the firstresult set.

The present disclosure also provides a computer-readable storage mediumcoupled to one or more processors and having instructions stored thereonwhich, when executed by the one or more processors, cause the one ormore processors to perform operations in accordance with implementationsof the methods provided herein.

The present disclosure further provides a system for implementing themethods provided herein. The system includes one or more processors, anda computer-readable storage medium coupled to the one or more processorshaving instructions stored thereon which, when executed by the one ormore processors, cause the one or more processors to perform operationsin accordance with implementations of the methods provided herein.

It is appreciated that methods in accordance with the present disclosurecan include any combination of the aspects and features describedherein. That is, methods in accordance with the present disclosure arenot limited to the combinations of aspects and features specificallydescribed herein, but also include any combination of the aspects andfeatures provided.

The details of one or more implementations of the present disclosure areset forth in the accompanying drawings and the description below. Otherfeatures and advantages of the present disclosure will be apparent fromthe description and drawings, and from the claims.

DESCRIPTION OF DRAWINGS

FIG. 1 depicts an example high-level architecture in accordance withimplementations of the present disclosure.

FIG. 2 depicts an example insight provider in accordance withimplementations of the present disclosure.

FIG. 3A depicts an example insight provider pipeline in accordance withimplementations of the present disclosure.

FIG. 3B depicts an example insight provider operating in a dataenrichment mode in accordance with implementations of the presentdisclosure.

FIGS. 4A-4G depict screenshot of an example graphical user interface(GUI) progression in accordance with implementations of the presentdisclosure.

FIG. 5 depicts an example process that can be executed in accordancewith implementations of the present disclosure.

FIG. 6 depicts an example process that can be executed in accordancewith implementations of the present disclosure.

FIG. 7 is a schematic illustration of example computer systems that canbe used to execute implementations of the present disclosure.

Like reference symbols in the various drawings indicate like elements.

DETAILED DESCRIPTION

Implementations of the present disclosure are generally directed to dataanalytics systems. More particularly, implementations of the presentdisclosure provide computer-implemented insight providers that eachprovide a specific, self-contained analysis for a particular domain. Insome examples, each insight provider operates in one of a filter mode,and a data enrichment mode. In some examples, a plurality of insightproviders can be linked to provide an insight provider pipeline, suchthat an output of an insight provider is provide as input to anotherinsight provider. Implementations can include actions of providing aninsight provider including a logic component and a configurationcomponent, the logic component including a domain-specific model, theconfiguration component including one or more parameter values forprocessing data using the domain-specific model, receiving a set ofassets including data indicative of one or more assets, retrieving assetdata associated with at least one asset of the first set of assets, theasset data including OT data and IT data, the OT data being providedfrom one or more networked devices, the IT data being provided from oneor more enterprise systems, and processing the OT data and the IT datausing the domain-specific model of the logic component to provide aresult set, the result set including one or more of a second set ofassets and enriched data.

Implementations of the present disclosure further provide a dataanalytics system leveraging a plurality of insight providers, andproviding a portal having a plurality of graphical user interfaces(GUIs), which are driven based on one or more insight providers. In someimplementations, and as described in further detail herein, a userprovides input to one or more GUIs, which input is processed byrespective insight providers to orchestrate the insight providers indata analytics. In some examples, the user is able to interact with theinsight providers through the GUIs to drill-down into data analyticsinformation related to assets, and/or perform tasks associated withassets.

Implementations of the present disclosure are described in furtherdetail herein with reference to an example context of data analytics forpredictive maintenance. In some examples, data is processed using one ormore insight providers of the present disclosure to provide maintenancedata on one or more devices, and/or to perform tasks associated withassets (e.g., issuing maintenance tickets). It is contemplated, however,that implementations of the present disclosure can be applied in anappropriate context.

FIG. 1 depicts an example architecture 100 in accordance withimplementations of the present disclosure. In the depicted example, theexample architecture 100 includes one or more client devices 102, 104, anetwork 106, a server system 108, and assets 110. The server system 108includes one or more server devices and databases (e.g., processors,memory). In the depicted example, respective users 112, 114 interactwith the client devices 102, 104. In an example context, the users 112,114 can include users (e.g., enterprise operators, maintenance agents),who interact with one or more a data analytics system hosted by theserver system 108.

In some examples, the client devices 102, 104 can communicate with theserver system 108 over the network 106. In some examples, the clientdevices 102, 104 can include any appropriate type of computing devicesuch as a desktop computer, a laptop computer, a handheld computer, atablet computer, a personal digital assistant (PDA), a cellulartelephone, a network appliance, a camera, a smart phone, an enhancedgeneral packet radio service (EGPRS) mobile phone, a media player, anavigation device, an email device, a game console, or an appropriatecombination of any two or more of these devices or other data processingdevices. In some implementations, the network 106 can include a largecomputer network, such as a local area network (LAN), a wide areanetwork (WAN), the Internet, a cellular network, a telephone network(e.g., PSTN) or an appropriate combination thereof connecting any numberof communication devices, mobile computing devices, fixed computingdevices and server systems.

In some implementations, the server system 108 includes at least oneserver and at least one data store. In the example of FIG. 1, the serversystem 108 is intended to represent various forms of servers including,but not limited to a web server, an application server, a proxy server,a network server, and/or a server pool. In general, server systemsaccept requests for application services and provides such services toany number of client devices (e.g., the client devices 102, 104 over thenetwork 106).

In some implementations, one or more data stores of the server system108 store one or more databases. In some examples, a database can beprovided as an in-memory database. In some examples, an in-memorydatabase is a database management system that uses main memory for datastorage. In some examples, main memory includes random access memory(RAM) that communicates with one or more processors (e.g., centralprocessing units (CPUs)), over a memory bus. An-memory database can becontrasted with database management systems that employ a disk storagemechanism. In some examples, in-memory databases are faster than diskstorage databases, because internal optimization algorithms can besimpler and execute fewer CPU instructions (e.g., require reduced CPUconsumption). In some examples, accessing data in an in-memory databaseeliminates seek time when querying the data, which provides faster andmore predictable performance than disk-storage databases. An examplein-memory database system includes SAP HANA provided by SAP SE ofWalldorf, Germany.

In accordance with the example context, the assets 110 can includeentities, for which predictive maintenance is to be conducted. Exampleassets can include, without limitation, cars, trucks, trains, planes,boats, ships, buildings, factories, or components thereof (e.g., engine,motor, compressor, HVAC unit, etc.). In general, an asset can includeany appropriate entity, for which data can be provided, and dataanalytics can be performed. In some examples, data associated with eachasset 110 is provided to the server system 108 over the network 106,which data is processed by the data analytics system, as described infurther detail herein.

In some implementations, data includes information technology (IT) data,and operational technology (OT) data. In some examples, IT data includesdata provided from one or more enterprise systems. For example, anenterprise system can include an inventory of assets managed by arespective enterprise, the inventory recording assets by respectiveidentifiers (unique identifiers), and other relevant information (e.g.,description, part number, location). In some examples, IT data is storedin a data store (e.g., of the server system 108), and can be retrievedbased on identifiers associated with assets. For example, a database canbe queried based on an asset identifier, and IT data associated with therespective asset can be provided in response to the query.

In some examples, OT data includes data provided from one or moresensors. Example sensors can include sensors integrated into an asset(e.g., environmental (pressure, temperature) sensors, speed (RPM)sensors, fluid (oil, coolant) level sensors. Example sensors can includesensors that are independent of an asset, but that monitor dataassociated with the asset (e.g., video cameras, environmental (pressure,temperature) sensors, motion sensors). For example, sensors can beincluded in a networked device that is proximate to an asset, and thatprovides data relevant to the asset. In some examples, OT data is storedin a data store (e.g., of the server system 108), and can be retrievedbased on identifiers associated with assets, and/or identifiers assignedto sensors associated with assets. For example, a video camera monitorsa particular asset and includes an identifier. An identifier of thevideo camera can be correlated to an identifier of the asset, andrecorded in the enterprise system. Data provided by the video camera(e.g., video, images) can be stored in a database based on theidentifier of the video camera and/or the identifier of the asset. Thedata can be queried based on the asset identifier and/or the videocamera identifier, and OT data associated with the respective asset canbe provided in response to the query.

As introduced above, and described in further detail herein,implementations of the present disclosure provide a data analyticssystem including a plurality of insight providers. In some examples, thedata analytics system is provided as one or more computer-executableprograms executed by one or more computing devices. For example, thedata analytics system can be hosted by one or more server systems (e.g.,the server system 108 of FIG. 1). In some examples, each insightprovider is provided as one or more computer-executable programsexecuted by one or more computing devices.

FIG. 2 depicts an example insight provider 200 in accordance withimplementations of the present disclosure. The example insight provider200 includes a logic component 202, a configuration component 204, and avisualization component 206. The example insight provider 200 receivesinput assets, and/or additional data, and provides output assets,evidence, and/or generated data.

In some implementations, the logic component 202 includescomputer-programmed logic that processes data based on the input assets(e.g., a set of assets including one or more assets), and additionaldata to apply a unique data analysis (i.e., unique to the particularinsight provider among a plurality of insight providers), and to providean analysis result. In some examples, the logic component 202 implementsoperationalized analysis, which can include, for example, one or moremachine-learning models, and/or a set of expert rules derived fromexpert knowledge for a respective domain. For example, the logiccomponent 202 can include a data model, through which data is processedto provide the analysis result. In some examples, each data model isdomain-specific (e.g., the domain is predictive maintenance), and isspecific to the respective insight provider. Accordingly, and asdescribed in detail herein, insight providers can process data throughrespective data models to provide respective analysis results, which canbe aggregated to provide an analysis result for a data analytics systemas a whole.

In some implementations, the configuration component 204 provides one ormore settings that control the logic and visualization of the particularinsight provider 200. Example settings can include, without limitation,a time period for aggregating sensor data for display (e.g., 2 days, 3weeks, etc.), attributes and their respective language-specific labelsfor display, configuration of color coding for assets, and a uniformresource locator (URL) of the backend system for creating a workactivity. In some examples, a user interface (UI) enables a value foreach setting to be provided. For example, an administrator can configurethe insight provider 200 by providing values for settings through theUI.

In accordance with implementations of the present disclosure, the inputassets define a set of assets (e.g., assets 110 of FIG. 1) that theinsight provider 200 is to process, and the output assets is a sub-setof assets (e.g., a sub-set of the input assets) that is provided afterthe logic executes on the input assets. In some implementations, thevisualization component 206 provides one or more data visualizationsbased on processing of the input assets, and/or the additional data. Forexample, the visualization component 206 can provide data andinstructions that can be transmitted to a computing device (e.g., theclient devices 102, 104), and can be processed by the computing deviceto provide the one or more data visualizations. In some examples, thevisualization component enables interactive selection of filter criteria(e.g., during an exploration, described in further detail herein).Example data visualizations are described in further detail herein. Insome implementations, additional data is processed by the logiccomponent 202, and includes data objects associated with each of theinput assets. In some examples, an input asset can be associated with aunique identifier, and the logic component 202 can query a data sourcebased on the unique identifier. In some examples, the data sourceprovides data associated with the input asset based on the uniqueidentifier, which data is received by the logic component 202. In someimplementations, the logic component 202 provides data (generated data)as a result of processing data associated with the input assets. In someexamples, the generated data is associated with one or more input assets(e.g., unique identifiers of the one or more input assets), and istransmitted for storage in a data source (e.g., the data source thatprovides additional data).

In some implementations, the insight provider 200 provides evidence databased on processing input assets, and additional data using the logic.In some examples, evidence data can include, without limitation,individual data points (e.g., a specific instance of a derived signal),a specific work activity, composite data of a plurality of data points(e.g., snapshot of a map showing the critical assets overlaid on themap). In general, evidence packages are able to collect objects ofdifferent types (structured data, images, video, etc.).

In accordance with implementations of the present disclosure, and asdescribed in further detail herein, each insight provider 200 canoperate in a filter mode, or a data enrichment mode. In some examples,in the filter mode, the insight provider 200 serves as a filter fordownstream insight providers 200 to remove data that may be lessrelevant to an asset exploration (discussed in further detail herein).In some examples, in the filter mode, multiple insight providers can bechained together to provide a so-called insight provider pipeline. Insome examples, the data enrichment mode, the insight provider 200enriches existing data by generating additional data (e.g., one or morescores). In some examples, for each input asset, one or more additionalattributes can be generated by the insight provider 200 in the dataenrichment mode. Example additional attributes can include, withoutlimitation, aggregate values (e.g., key figures, health scores, etc.).In some examples, data enrichment can be performed as part of a batchprocess. In some examples, data enrichment can be performed on-demand(e.g., during an exploration, described in further detail herein).

FIG. 3A depicts an example insight provider pipeline 300 in accordancewith implementations of the present disclosure. In general, an insightprovider pipeline includes two or more insight providers. In the exampleof FIG. 3, the insight provider pipeline 300 includes three insightproviders 200, described in further detail herein. In someimplementations, each insight provider 200 processes input assets andadditional data 304 to provide respective evidence data. In someexamples, the evidence data of each insight provider is collected in anevidence package 306. In some implementations, and as described infurther detail herein, one or more GUIs are provided, which each displayone or more graphical representations based on data provided from thevisualization components of the respective insight providers 200, and/orevidence data provided in the evidence package 306.

FIG. 3B depicts an example insight provider 200′ operating in a dataenrichment mode in accordance with implementations of the presentdisclosure. In some examples, the insight provider 200′ provides valuessuch as anomaly scores, remaining useful life scores, distance basedprobability of failure scores, and the like.

To provide further context, a data analytics system, such as SAPPredictive Maintenance and Service provided by SAP SE of Walldorf,Germany, targets domain experts and enterprise users who are in chargeof monitoring the health of assets and planning maintenance activities.In some examples, through interaction with GUIs, users have the abilityto view assets in a map, view a hierarchy of assets, view keyperformance indicators (KPIs), receive alerts (e.g., triggered bypreconfigured rules), and view sensor data (e.g., in multi-dimensional,time-series chart). In the context of predictive maintenance, healthscores for assets are computed using machine learning (e.g., programmedinto the logic component of an insight providers). In some examples, ahealth score indicates the health status of a respective asset (e.g.,the health score indicates the remaining useful life of the asset, theprobability of failure of the asset, or anomaly scores). In someexamples, the data analytics system operationalizes analytics andmachine learning for consumption by domain experts and enterprise users.

In some implementations, the data analytics system is based on datamanagement and data processing, and insight providers. In some examples,data management and data processing include data fusion based onconcepts of the Lambda architecture, a generic, scalable, andfault-tolerant data processing architecture for big data. In someexamples, the insight providers enable the operationalization ofanalytics for consumption by domain experts. In some implementations,the insight providers can be described as micro-services that providerespective portions of analytical functionality, which are plugged intoapplications. Accordingly, applications are composed of modularmicro-services (insight providers), and can be enhanced or extended withadditional analytical capabilities (e.g., by adding insight providers tothe data analytics system).

In some implementations, an insight provider offers a specific analysis,whose result (insight) makes sense in the application domain. Exampleinsights can include, without limitation, abnormal exhaust temperatureof an engine on a specific airplane, a high frequency of low-oil-levelalerts in a fleet of vehicles, a geo-fenced area of oil pipelines thatshow a high degradation in remaining useful life. In someimplementations, an insight provider implements operationalizedanalytics created by data analysts and/or data scientists, and validatedby domain experts and enterprise users. The logic of the insightprovider (e.g., coded into the respective logic component) may containderived signal calculations, key value calculations, statistical models,and/or predictive models.

In general, the data analytics system includes a data connectivitylayer, and a stream processing layer. In some examples, the dataconnectivity layer is responsible for transferring data collectedthrough various protocols, from assets, or device associated withassets, to a central data repository (e.g., database). In some examples,data is provided by multiple networked devices, such as so-calledInternet-of-Things (IoT) devices. In some examples, the dataconnectivity layer provides underlying network connectivity, devicemanagement capabilities (e.g., pushing configurations to devices), andmonitoring of devices. In some examples, the stream processing layerhandles computations on the incoming data stream. Computations can rangefrom relatively simple computations (e.g., detecting sensor valuethreshold violations) to relatively complex computations (e.g., applyingpredictive models to streaming data 4 determining the probability of acomponent resulting in a warranty claim as the component goes through anassembly line).

In some examples, management of enterprise data (e.g., IT data), andtelematics and sensor data (e.g., OT data) includes a data ingestionprocess. In some examples, the data ingestion process includes parsingof raw data, and converting the raw data into a processable format. Insome examples, IT data is replicated from an enterprise system. Exampleenterprise systems can include, without limitation, SAP EnterpriseResource Planning (ERP), and SAP Customer Relationship Management (CRM),both provided by SAP SE of Walldorf, Germany. In some examples, one ormore fusion views provide transformations such as pivot transforms,enrichment (including joining data that might be computationallyexpensive to be done later), syntactic cleansing (does not require anunderstanding of the meaning of data, and semantic cleansing.

In some examples, sensor metadata management relates to the metadata ofmeasurements and events (e.g., the type of measurement, textualdescription, unit of measure, time frequency for continuousmeasurements, domain values for the discrete measurements, softwareconfiguration version, severity of events, time interval for eventmeasurements). In some examples, sensor metadata management enables thecombination of machine data (e.g., from IoT devices) with enterprisedata (e.g., from enterprise systems) in the data fusion layer.

FIGS. 4A-4G depict screenshot of an example GUI progression inaccordance with implementations of the present disclosure. Moreparticularly, FIGS. 4A-4G depict an example exploration that can beconducted during an interactive session using a data analytics systemincluding insight providers of the present disclosure. In some examples,a user (e.g., a domain expert) can interact with the GUIs to exploredata around a plurality of assets in the predictive maintenance context.The example GUIs include an asset explorer GUI 400 (FIGS. 4A, 4C, 4D,and 4F), a map GUI 402 (FIGS. 4A, and 4C-4F), a derived signals GUI 404(FIG. 4E), a 3D chart GUI 406 (FIG. 4G), and a work activities GUI 408(FIG. 4G). The examples of FIGS. 4A-4G includes predictive maintenancerelated to air conditioner (A/C) units (assets) of trains operating inGermany.

In accordance with implementations of the present disclosure, each GUIis associated with an underlying insight provider. In some examples, theinsight providers underlying the GUIs of FIGS. 4A-4G are configured asan insight provider pipeline (as part of an application), as describedherein with reference to FIG. 3A. In some examples, the output of aninsight provider is provided as input to one or more other insightproviders. In general, and as described herein with reference to theexample progression of FIGS. 4A-4G, a user can interact with the GUIs toorchestrate the insight providers in an effort to drill-down to one ormore particular assets to, for example, to perform one or more tasksrelated to the particular asset(s) (e.g., issue a maintenance ticket).

With particular reference to FIG. 4A, the asset explorer GUI 400, and aportion of the map GUI 402 are depicted. In the depicted example, theasset explorer GUI 400 includes a menu 410, and an asset view 412. Insome examples, the menu 410 provides user-selectable parameters tofilter assets displayed in the asset view 412. In the depicted example,the asset view 412 is provided as a table view. It is contemplated,however, that assets can be displayed in any appropriate view (e.g.,asset hierarchy). In the depicted examples, the map GUI 402 includes ageographical map having respective pin icons, each indicating ageographic location of a respective asset in the asset view 412.

In accordance with implementations of the present disclosure, the assetexplorer GUI 400, and the map GUI 402 provide data from respectiveinsight providers, in combination with IT data and/or OT data. Forexample, an insight provider underlying the asset explorer GUI 400 canreceive data associated with respective assets (e.g., environmentaldata, performance data from IoT devices), and can determine a healthstatus, and a probability of failure for each asset. In the depictedexample, the health status is communicated by a color value (e.g., red,orange, green), and the probability of failure is provided by a numericvalue. The asset explorer GUI 400 also displays IT data and/or OT datareceived from an enterprise system. In the depicted example, the assetview 412 displays the health status and probability of failure in handwith respective asset names, descriptions, and external identifiersprovided from an enterprise system (e.g., an ERP system). In thedepicted example, the map GUI 402 depicts the health status (e.g., colorof pin icon) and location of the respective assets of the asset view412.

With reference to FIGS. 4B and 4C, and as introduced above, the menu 410provides user-selectable parameters to filter assets displayed in theasset view 412. For example, in response to use selection of a filtericon corresponding to “Maintenance Plant” of the menu 410, a valueselection interface 420 is displayed. In the depicted example, a userhas selected a particular maintenance plant (PL24). In response, theasset view 412, and the map GUI 402 can be modified to display only datarelating to assets associated with the particular maintenance plant.

With particular reference to FIG. 4C, the user can select particularassets from the asset view 412 for further analysis. In the depictedexample, users-selected assets are indicated by the user checking acheck-box of the assets in the asset view 412. In some examples, inresponse to user selection of at least one particular asset, anapplication icon 422 is displayed. In response to user selection of theapplication icon 422, the user-selected assets are applied to theinsight providers underlying the GUIs. That is, for example, the inputassets input to the insight providers respectively underlying the assetexplorer GUI 400 and the map GUI 402 are modified to include only theuser-selected assets. FIG. 4D depicts the result to the asset explorerGUI 400 and the map GUI 402 from applying the user-selected assets ofFIG. 4C.

With particular reference to FIG. 4E, the map GUI 402 depicts pin iconsfor the assets remaining in the asset view 412 after user-selection, asdescribed above with reference to FIGS. 4C and 4D. A portion of thederived signals GUI 404 is depicted, and includes signals related to theremaining assets. In the depicted example, the signals include anindication that a temperature associated with a particular asset (e.g.,CA90-08) has exceeded a threshold temperature (e.g., 40 degrees) basedon a particular rule (e.g., PDMS HRF Rule). In some examples, the ruleis applied by the insight provider underlying the derived signals GUI404.

In some implementations, the user can select particular assets forfurther analysis using the map GUI 402. In the depicted example, theuser can draw a geometric shape 430 defining a boundary. In someexamples, if a pin icon is within the geometric shape 430, the assetcorresponding to the pin icon is selected. In response to user selectionof at least one particular asset (e.g., by fencing in pin icons usingthe geometric shape within the map GUI 402), the application icon 422 isdisplayed. In response to user selection of the application icon 422,the user-selected assets are applied to the insight providers underlyingthe GUIs. FIG. 4F depicts the asset explorer GUI 400 and the map GUI 402in response to user selection using the map GUI 402 (see FIG. 4E).

With reference to FIG. 4G, the 3D chart GUI 406, and the work activitiesGUI 408 are depicted and provide graphical displays based on the userselections described above with reference to FIGS. 4E and 4F. In thedepicted example, the 3D chart GUI 406 provides a multi-dimensionalgraphical representation of assets and temperatures recorded for theassets over time. In accordance with implementations of the presentdisclosure, the user can provide input to the 3D chart GUI 406. In thedepicted example, the user can provide input defining a thresholdtemperature value. In response to the user-defined threshold temperaturevalue, a sub-set of assets is selected (e.g., assets associated withtemperatures that exceed the threshold temperature value), and theapplication icon 422 is displayed. In response to user selection of theapplication icon 422, the user-selected assets are applied to theinsight providers underlying the GUIs.

Although a 3D chart GUI 406 is depicted in the examples describedherein, it is contemplated that any chart GUI can be provided (e.g., 2Dchart GUI).

In the depicted example, the work activities GUI 408 provides agraphical representation of a plurality of tasks being performed withrespect to assets. In the depicted example, the graphical representationincludes a table providing rows, each associated with a respective task,and columns, each providing information associated with the tasks.

FIG. 5 depicts an example process 500 that can be executed in accordancewith implementations of the present disclosure. In some examples, theexample process 500 can be provided by one or more computer-executableprograms executed using one or more computing devices.

An insight provider is provided (502). For example, an insight provideris provided as one or more computer-executable programs executed usingone or more computing devices (e.g., the server system 108 of FIG. 1).In some examples, the insight provider includes a logic component and aconfiguration component, as described herein. For example, the logiccomponent includes a domain-specific model, and the configurationcomponent includes one or more parameter values for processing datausing the domain-specific model. A set of assets is received (504). Forexample, the server system 108 receives the set of assets (e.g., basedon user input identifying assets to be analyzed). In some examples, theset of assets includes data indicative of one or more assets, asdescribed herein.

Asset data is retrieved (506). For example, the server system 108retrieves asset data associated with at least one asset of the set ofassets. In some examples, and as described in detail herein, the assetdata includes OT data, and IT data, the OT data being provided from oneor more networked devices, the IT data being provided from one or moreenterprise systems. A result set is provided (508). For example, and asdescribed herein, the OT data and the IT data are processed using thedomain-specific model of the logic component to provide the result set.In some examples, the result set includes one or more of another set ofassets and enriched data.

FIG. 6 depicts an example process 600 that can be executed in accordancewith implementations of the present disclosure. In some examples, theexample process 600 can be provided by one or more computer-executableprograms executed using one or more computing devices.

A plurality of insight providers is provided (602). For example, eachinsight provider of the plurality of insight providers is provided asone or more computer-executable programs executed using one or morecomputing devices (e.g., the server system 108 of FIG. 1). In someexamples, each insight provider includes a logic component and aconfiguration component, each logic component including a respectivedomain-specific model, and each configuration component including one ormore parameter values for processing data using the respectivedomain-specific model. A set of assets is received (604). For example,the server system 108 receives the set of assets (e.g., based on userinput identifying assets to be analyzed). In some examples, the set ofassets includes data indicative of one or more assets, as describedherein.

Asset data is retrieved (606). For example, the server system 108retrieves asset data associated with at least one asset of the set ofassets. In some examples, and as described in detail herein, the assetdata includes OT data, and IT data, the OT data being provided from oneor more networked devices, the IT data being provided from one or moreenterprise systems. A result set is provided (608). For example, and asdescribed herein, the OT data and the IT data are processed usingrespective domain-specific models of the logic components of the insightproviders to provide the result set. In some examples, the result setincludes one or more of another set of assets and enriched data.

Graphical representations are transmitted for display (610). Forexample, the server system 108 transmits instructions for display ofgraphical representation in a display of the client device 102, 104. Insome examples, and as described herein, the graphical representationsare displayed in a plurality of GUI that are respectively specific to aninsight provider of the plurality of insight providers. In someexamples, each the one or more graphical representations is at leastpartially based on one or more of the result set and the other resultset. In some examples, the graphical representations are provided fromvisualization components of the respective insight providers.

Implementations of the present disclosure provide one or more of thefollowing example advantages. In general, the insight providers surfaceinsights derived from underlying combination of IT data and OT data inan easy and consumable manner. In some examples, chaining of the insightproviders enables domain users to monitor assets for health andmaintenance issues (e.g., by filtering and chaining insight providers inany order). In contrast, traditional data analytics systems require ITpersonnel to implement data cubes, or data marts for domain users toslice and dice (manipulate) the data. The insight provider approach ofthe present disclosure guides users to more time- andresource-efficiently find the set of assets of interest in following upwith subsequent processes (e.g., monitoring for maintenance, detectingemerging issues in a fleet of assets, etc.)

Referring now to FIG. 7, a schematic diagram of an example computingsystem 700 is provided. The system 700 can be used for the operationsdescribed in association with the implementations described herein. Forexample, the system 700 may be included in any or all of the servercomponents discussed herein. The system 700 includes a processor 710, amemory 720, a storage device 730, and an input/output device 740. Thecomponents 710, 720, 730, 740 are interconnected using a system bus 750.The processor 710 is capable of processing instructions for executionwithin the system 700. In one implementation, the processor 710 is asingle-threaded processor. In another implementation, the processor 710is a multi-threaded processor. The processor 710 is capable ofprocessing instructions stored in the memory 720 or on the storagedevice 730 to display graphical information for a user interface on theinput/output device 740.

The memory 720 stores information within the system 700. In oneimplementation, the memory 720 is a computer-readable medium. In oneimplementation, the memory 720 is a volatile memory unit. In anotherimplementation, the memory 720 is a non-volatile memory unit. Thestorage device 730 is capable of providing mass storage for the system700. In one implementation, the storage device 730 is acomputer-readable medium. In various different implementations, thestorage device 730 may be a floppy disk device, a hard disk device, anoptical disk device, or a tape device. The input/output device 740provides input/output operations for the system 700. In oneimplementation, the input/output device 740 includes a keyboard and/orpointing device. In another implementation, the input/output device 740includes a display unit for displaying graphical user interfaces.

The features described can be implemented in digital electroniccircuitry, or in computer hardware, firmware, software, or incombinations of them. The apparatus can be implemented in a computerprogram product tangibly embodied in an information carrier (e.g., in amachine-readable storage device, for execution by a programmableprocessor), and method steps can be performed by a programmableprocessor executing a program of instructions to perform functions ofthe described implementations by operating on input data and generatingoutput. The described features can be implemented advantageously in oneor more computer programs that are executable on a programmable systemincluding at least one programmable processor coupled to receive dataand instructions from, and to transmit data and instructions to, a datastorage system, at least one input device, and at least one outputdevice. A computer program is a set of instructions that can be used,directly or indirectly, in a computer to perform a certain activity orbring about a certain result. A computer program can be written in anyform of programming language, including compiled or interpretedlanguages, and it can be deployed in any form, including as astand-alone program or as a module, component, subroutine, or other unitsuitable for use in a computing environment.

Suitable processors for the execution of a program of instructionsinclude, by way of example, both general and special purposemicroprocessors, and the sole processor or one of multiple processors ofany kind of computer. Generally, a processor will receive instructionsand data from a read-only memory or a random access memory or both.Elements of a computer can include a processor for executinginstructions and one or more memories for storing instructions and data.Generally, a computer can also include, or be operatively coupled tocommunicate with, one or more mass storage devices for storing datafiles; such devices include magnetic disks, such as internal hard disksand removable disks; magneto-optical disks; and optical disks. Storagedevices suitable for tangibly embodying computer program instructionsand data include all forms of non-volatile memory, including by way ofexample semiconductor memory devices, such as EPROM, EEPROM, and flashmemory devices; magnetic disks such as internal hard disks and removabledisks; magneto-optical disks; and CD-ROM and DVD-ROM disks. Theprocessor and the memory can be supplemented by, or incorporated in,ASICs (application-specific integrated circuits).

To provide for interaction with a user, the features can be implementedon a computer having a display device such as a CRT (cathode ray tube)or LCD (liquid crystal display) monitor for displaying information tothe user and a keyboard and a pointing device such as a mouse or atrackball by which the user can provide input to the computer.

The features can be implemented in a computer system that includes aback-end component, such as a data server, or that includes a middlewarecomponent, such as an application server or an Internet server, or thatincludes a front-end component, such as a client computer having agraphical user interface or an Internet browser, or any combination ofthem. The components of the system can be connected by any form ormedium of digital data communication such as a communication network.Examples of communication networks include, for example, a LAN, a WAN,and the computers and networks forming the Internet.

The computer system can include clients and servers. A client and serverare generally remote from each other and typically interact through anetwork, such as the described one. The relationship of client andserver arises by virtue of computer programs running on the respectivecomputers and having a client-server relationship to each other.

In addition, the logic flows depicted in the figures do not require theparticular order shown, or sequential order, to achieve desirableresults. In addition, other steps may be provided, or steps may beeliminated, from the described flows, and other components may be addedto, or removed from, the described systems. Accordingly, otherimplementations are within the scope of the following claims.

A number of implementations of the present disclosure have beendescribed. Nevertheless, it will be understood that variousmodifications may be made without departing from the spirit and scope ofthe present disclosure. Accordingly, other implementations are withinthe scope of the following claims.

What is claimed is:
 1. A computer-implemented method for data analytics,the method being executed by one or more processors and comprising:providing an applicaiton composed of modular micro-services comprising aplurality of insight provider as one or more computer-executableprograms, the plurality of insight providers including a first insightprovider comprising a first logic component and a first configurationcomponent, the first logic component comprising a first domain-specificmodel that is specific to the first insight provider and is distinctfrom models of other insight providers of the plurality of insightproviders, the first configuration component comprising one or moreparameter values for processing data using the first domain-specificmodel; receiving, through a first graphical user interface (GUI) that isspecific to the first insight provider, user input defining a first setof assets, the first GUI included in a plurality of GUIs, each GUI inthe plurality of GUIs being specific to an insight provider in theplurality of insight providers; receiving, in response to the userinput, first data representative of a first set of assets comprisingdata indicative of one or more assets; retrieving, by the one or moreprocessors, asset data associated with at least one asset of the firstset of assets, the asset data comprising operational technology (OT)data and information technology (IT) data, the OT data being providedfrom one or more networked devices, the IT data being provided from oneor more enterprise systems; querying, by the first logic component ofthe first insight provider, one or more data sources based on anidentifier that uniquely identifies an asset in the first set of assets;receiving, by the first logic component and responsive to querying theone or more data sources, additional data associated with the asset; andprocessing, by the one or more processors, the additional data, the OTdata and the IT data using the first domain-specific model of the firstlogic component to provide a first result set, the first result setcomprising one or more of enriched data and second data representativeof a second set of assets.
 2. The method of claim 1, further comprisingproviding the first result set as input to a second insight provider,the second insight provider providing a second result set at leastpartially based on the first result set.
 3. The method of claim 2,wherein the first insight provider and the second insight provider areincluded in an insight provider pipeline.
 4. The method of claim 1,wherein the first insight provider executes in a data enrichment mode,and the first result set comprises the enriched data.
 5. The method ofclaim 1, wherein the first insight provider executes in a filter mode,and the first result set comprises the second set of assets.
 6. Themethod of claim 1, wherein the data indicative of one or more assets atleast partially comprises identifiers respectively assigned to the oneor more assets.
 7. The method of claim 1, wherein the first insightprovider further comprises a visualization component, the visualizationcomponent providing one or more graphical representations for display inthe first GUI that is specific to the first insight provider, the one ormore graphical representations being at least partially based on thefirst result set.
 8. A non-transitory computer-readable storage mediumcoupled to one or more processors and having instructions stored thereonwhich, when executed by the one or more processors, cause the one ormore processors to perform operations for data analytics, the operationscomprising: providing an application composed of modular micro-servicescomprising a plurality of insight providers as one or morecomputer-executable programs, the plurality of insight providersincluding a first insight provider comprising a first logic componentand a first configuration component, the first logic componentcomprising a first domain-specific model that is specific to the firstinsight provider and is distinct from models of other insight providersof the plurality of insight providers the first configuration componentcomprising one or more parameter values for processing data using thefirst domain-specific model; receiving, through a first graphical userinterface (GUI) that is specific to the first insight provider, userinput defining a first set of assets, the first GUI included in aplurality of GUIs, each GUI in the plurality of GUIs being specific toan insight provider in the plurality of insight providers; receiving, inresponse to the user input, first data representative of a first set ofassets comprising data indicative of one or more assets; retrievingasset data associated with at least one asset of the first set ofassets, the asset data comprising operational technology (OT) data andinformation technology (IT) data, the OT data being provided from one ormore networked devices, the IT data being provided from one or moreenterprise systems; queying, by the first logic component of the firstinsight provider, one or more data sources based on an identifier thatuniquely identifies an asset in the first set of assets; receiving, bythe first logic component and responsive to querying the one or moredata sources, additional data associated with the asset; and processingthe additional data, the OT data and the IT data using the firstdomain-specific model of the first logic component to provide a firstresult set, the first result set comprising one or more of enriched dataand second data representative of a second set of assets.
 9. Thecomputer-readable storage medium of claim 8, wherein operations furthercomprise providing the first result set as input to a second insightprovider, the second insight provider providing a second result set atleast partially based on the first result set.
 10. The computer-readablestorage medium of claim 9, wherein the first insight provider and thesecond insight provider are included in an insight provider pipeline.11. The computer-readable storage medium of claim 8, wherein the firstinsight provider executes in a data enrichment mode, and the firstresult set comprises the enriched data.
 12. The computer-readablestorage medium of claim 8, wherein the first insight provider executesin a filter mode, and the first result set comprises the second set ofassets.
 13. The computer-readable storage medium of claim 8, wherein thedata indicative of one or more assets at least partially comprisesidentifiers respectively assigned to the one or more assets.
 14. Thecomputer-readable storage medium of claim 8, wherein the first insightprovider further comprises a visualization component, the visualizationcomponent providing one or more graphical representations for display inthe first GUI that is specific to the first insight provider, the one ormore graphical representations being at least partially based on thefirst result set.
 15. A system, comprising: a computing device; and acomputer-readable storage device coupled to the computing device andhaving instructions stored thereon which, when executed by the computingdevice, cause the computing device to perform operations for dataanalytics, the operations comprising: providing an applicaiton composedof modular micro-sevices comprising a plurality of insight providers asone or more computer-executable programs, the plurality of insightproviders including a first insight provider comprising a first logiccomponent and a first configuration component, the firt logic componentcomprising a first domain-specific model that is specific to the firstinsight provider and is distinct from models of other insight providersof the plurality of insight providers, the first comfiguration componentcomprising one or more parameter values for processing data using thefirst domain-specific model; receiving, throught a first graphial userinterface (GUI) that is specific to the first insight provider, userinput defining a first set of assets, the first GUI included in aplurality of GUIs each GUI in the plurality of GUIs being specific to aninsight provider in the plurality of insight provideers; receiving, inresponse to the user input, first data representative of a first set ofassets comprising data indicative of one or more assets; retrievingasset data associated with at least one asset of the first set ofassets, the asset data comprising operationial technology (OT) data andinformation technology (IT) data, the OT data being provided from one ormore networked devices, the IT data being provided from one or moreenterprise systems; querying, by the first logic component of the firstinsight provider, one or more data sources based on an identifier thatuniquely identifies an asset in the first set of assets; receiving, bythe first logic component and responsive to querying the one or moredata sources, additional data associated with the asset; and processingthe additional data, the OT data and the IT data using the firstdomain-specific model of the first logic component to provide a firstresult set, the first result set comprising one or more of enriched dataand second data representative of a second set of assets.
 16. The systemof claim 15, wherein operations further comprise providing the firstresult set as input to a second insight provider, the second insightprovider providing a second result set at least partially based on thefirst result set.
 17. The system of claim 16, wherein the first insightprovider and the second insight provider are included in an insightprovider pipeline.
 18. The system of claim 15, wherein the first insightprovider executes in a data enrichment mode, and the first result setcomprises the enriched data.
 19. The system of claim 15, wherein thefirst insight provider executes in a filter mode, and the first resultset comprises the second set of assets.
 20. The system of claim 15,wherein the data indicative of one or more assets at least partiallycomprises identifiers respectively assigned to the one or more assets.